package co.yixiang.modules.system.domain;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
* @author zf
* @date 2021-10-10
*/
@Data
@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("loan_plan")
public class LoanPlan implements Serializable {

    @TableId
    private Integer id;


    /** 业务员 */
    private String openId;


    /** 业务员名称 */
    private String busName;


    /** 客户名称 */
    private String name;


    /** 电话 */
    private String phone;


    /** 贷款金额 */
    private BigDecimal money;


    /** 贷款时间 */
    private String loanTime;


    /** 房产所在地 */
    private String house;


    /** 公司所在地 */
    private String company;


    /** 消费卷 id */
    private Integer rid;


    /** 贷款类型 1房贷  2 车贷  3工薪贷  4企业贷 */
    private Integer loanType;


    /** 业务状态 1 办理中。2 办理成功。 3 办理失败 */
    private Integer loanStatus;


    /** 备注 */
    private String remake;


    /** 创建时间 */
    @TableField(fill= FieldFill.INSERT)
    private LocalDateTime createTime;


    /** 佣金 */
    private BigDecimal commission;


    public void copy(LoanPlan source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
